1. Field of the Invention
The present invention relates to a method, system, and article of manufacture for checkpointing and restoring user space data structures used by an application.
2. Description of the Related Art
An operating system may designate processes that are assigned to execute applications and components as running in a user space or kernel space. Typically, user applications are assigned to execute in the user address space and essential operations are assigned to execute in the kernel address space, such as resource allocation, low-level hardware interfaces, security, etc. A process may comprise one or more threads allocated to processor and computer resources to execute computer instructions. Multiple processes or multiple threads in one process may concurrently execute instructions for one application, or multiple processes may concurrently execute instructions for multiple applications. Multiple processes may execute on multiple processors. The term “process” as used herein refers to a process, thread or any other unit of execution allocated to execute instructions.
Certain applications may gather state information on the execution of an application to store in checkpoint information. The state of an application maintained in checkpoint information may be used for debugging and development and record and replay purposes. A record and replay program would allow the recreation of an application state to recreate the application so that it may run from the state as indicated in the checkpoint information.
There is a need in the art for improved techniques to gather state and system information related to application execution to allow improved recording of the checkpoint information for the application.